/*
 *  CSE 40166, Computer Graphics, Fall 2013
 *  Assignment 4, Part 2
 *
 *  File: textureReader.h
 *
 *  Kevin Sonnen
 *
 *  Description: Contains a declaration for class with functionality for 
 *  registering a texture and reading in a PPM.
 *
 */
 
 
#ifndef TEXTURE_H
#define TEXTURE_H

#include <vector>

#ifdef __APPLE__			// If compiling on Mac OS
	#include <GLUT/glut.h>
#else					// Else compiling on Linux OS
	#include <GL/glut.h>
	#include <GL/gl.h>
	#include <GL/glu.h>
#endif

#include <math.h>
#include <stdio.h>
#include <string>
#include <iostream>

class textureReader {
	public:
		bool registerOpenGLTexture(unsigned char *textureData, unsigned int texWidth, 
			unsigned int texHeight, GLuint &textureHandle);
		bool readPPM(std::string filename, int &imageWidth, int &imageHeight, unsigned char* &imageData);
};

#endif
